home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / nan_news / toolkit / tmenu.inc < prev    next >
Text File  |  1991-06-14  |  4KB  |  124 lines

  1. ;
  2. ; File......: TMENU.INC
  3. ; Author....: Ted Means
  4. ; Date......: $Date:   14 Jun 1991 19:55:04  $
  5. ; Revision..: $Revision:   1.1  $
  6. ; Log file..: $Logfile:   E:/nanfor/src/tmenu.inv  $
  7. ; This is an original work by Ted Means and is placed in the
  8. ; public domain.
  9. ;
  10. ; Modification history:
  11. ; ---------------------
  12. ;
  13. ; $Log:   E:/nanfor/src/tmenu.inv  $
  14. ;  
  15. ;     Rev 1.1   14 Jun 1991 19:55:04   GLENN
  16. ;  Minor edit to file header
  17. ;  
  18. ;     Rev 1.0   01 Apr 1991 01:03:58   GLENN
  19. ;  Nanforum Toolkit
  20. ;  
  21. ;
  22.  
  23.  
  24. ; --------------------------------------
  25. ; Include file for TMENU.ASM
  26. ; --------------------------------------
  27.  
  28.  
  29. Struc    MI
  30. PrNum    DW        ?                         ; Prompt identifier
  31.  
  32. PrAtt    DB        ?                         ; Prompt attribute
  33. PrLoc    DW        ?                         ; Prompt screen location
  34. PrLen    DW        ?                         ; Prompt length
  35. PrOfs    DW        ?                         ; Prompt offset
  36. PrSeg    DW        ?                         ; Prompt segment
  37.  
  38. LBarAtt  DB        ?                         ; Attribute of light bar
  39. LBHKAtt  DB        ?                         ; Attribute of hotkey when under
  40.                                              ; light bar
  41.  
  42. MsgAtt   DB        ?                         ; Message attribute
  43. MsgLoc   DW        ?                         ; Message screen location
  44. MsgLen   DW        ?                         ; Message length
  45. MsgOfs   DW        ?                         ; Message offset
  46. MsgSeg   DW        ?                         ; Message segment
  47.  
  48. BufOfs   DW        ?                         ; Pointer to buffer containing
  49. BufSeg   DW        ?                         ; screen contents before the
  50.                                              ; message was displayed
  51.  
  52. HKeyVal  DB        ?                         ; Value of hotkey
  53. HKeyAtt  DB        ?                         ; Attribute of hotkey
  54. HKeyLoc  DW        ?                         ; Location of hotkey on screen
  55.  
  56. Up       DW        ?                         ; Target if up arrow hit
  57. Down     DW        ?                         ; Target if down arrow hit
  58. Right    DW        ?                         ; Target if right arrow hit
  59. Left     DW        ?                         ; Target if left arrow hit
  60.  
  61. NextOfs  DW        ?                         ; Offset of next item
  62. NextSeg  DW        ?                         ; Segment of next item
  63. Ends     MI
  64.  
  65. NodePtr  EQU       DWord Ptr BP - 4          ; Resolves to current node in
  66.                                              ; linked list
  67. NodeSeg  EQU       Word Ptr BP - 2
  68. NodeOfs  EQU       Word Ptr BP - 4
  69.  
  70. MenuItem EQU       (MI ES:BX)                ; Makes for easier syntax
  71.  
  72. PrPtr    EQU       DWord Ptr MenuItem.PrOfs
  73.  
  74. MsgPtr   EQU       DWord Ptr MenuItem.MsgOfs
  75.  
  76. BufPtr   EQU       DWord Ptr MenuItem.BufOfs
  77.  
  78. NextPtr  EQU       DWord Ptr MenuItem.NextOfs
  79.  
  80. SnowFlag EQU       1
  81.  
  82. KeepFlag EQU       2
  83.  
  84. ColdFlag EQU       4
  85.  
  86. WrapFlag EQU       8
  87.  
  88. HotFlag  EQU       16
  89.  
  90. SKFlag   EQU       32
  91.  
  92. Flags    EQU       Word Ptr BP - 6
  93.  
  94. Active   EQU       Word Ptr BP - 8
  95.  
  96. VideoBase EQU      Word Ptr BP - 10
  97.  
  98. Last      EQU      Word Ptr BP - 12
  99.  
  100. TablePtr  EQU      DWord Ptr BP - 16
  101. TableOfs  EQU      Word Ptr BP - 16
  102. TableSeg  EQU      Word Ptr BP - 14
  103.  
  104. SetKeys   EQU      DWord Ptr BP - 20
  105. SKOfs     EQU      Word Ptr BP - 20
  106. SKSeg     EQU      Word Ptr BP - 18
  107.  
  108. SKCount   EQU      Word Ptr BP - 22
  109.  
  110. ScanCode  EQU      Word Ptr BP - 24
  111.  
  112. Macro     CheckSnow
  113. Local     Wait
  114.  
  115.           Push     AX
  116. Wait:     In       AL,DX
  117.           Test     AL,8
  118.           JZ       Wait
  119.           Pop      AX
  120.  
  121. Endm      CheckSnow
  122. 
  123.